package com.scs.application.modules.base.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelCollection;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.scs.application.modules.base.entity.Material;
import com.scs.application.modules.base.entity.MaterialSpec;
import org.hibernate.validator.constraints.Length;

import java.util.List;
public class MaterialVO extends Material {

    @Excel(name = "品类代码", needMerge = true)
    private String catalogCode;

    @Excel(name = "品类名称", width = 25, needMerge = true)
    private String catalogName;

    @Excel(name = "厂商代码", needMerge = true)
    private String manufacturerCompanyCode;

    @Excel(name = "厂商名称", width = 29, needMerge = true)
    private String manufacturerName;

    /**
     * 注册证号(院方)
     */
    @Excel(name = "注册证号", width = 25, needMerge = true)
    @Length(max = 50, message = "注册证号长度必须介于 0 和 50 之间")
    private String hospitalCertificateNo;

    /**
     * 注册证效期(院方)
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "注册证效期", format = "yyyy-MM-dd", needMerge = true)
    @JSONField(format = "yyyy-MM-dd")
    private java.util.Date hospitalCertificateExpiredDate;

    /**
     * 注册证效期开始(院方)
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "注册证效期开始", format = "yyyy-MM-dd", needMerge = true)
    @JSONField(format = "yyyy-MM-dd")
    private java.util.Date hospitalCertificateExpiredStartDate;

    @ExcelCollection(name = "规格")
    private List<MaterialSpec> specs;

}
